Anyone who has built a plastic model of a car, airplane, ship or other article knows how rewarding the finished model can be and how much fun it can be to build it. Typically, a model builder carefully assembles the model using step by step instructions. Different modeled parts are numbered and sequenced allowing the model builder to starting with sub-assemblies and end with the final assembly, sanding, and painting. Models that are the most fun to build are designed so they can be assembled in one way. Portions of one part will interlock with corresponding portions of the proper mating part. In this way, the model builder (who may be a child) will not make a mistake, become confused and simply give up, or get too frustrated to continue.
On the other end of the spectrum, consider starting with a lump of clay and deciding to construct a statue, a pot, or other useful article. You can turn the lump of clay into anything you want. This is both a huge opportunity for a skilled artist and an intimidating challenge for the inexperienced. With no instructions to follow and with maximum flexibility available, most of us soon become disillusioned and do not know what to do next. Our attempts to create something interesting do not necessarily result in satisfying or aesthetically-pleasing results. Rather, it takes a skilled artisan to transform that lump of clay into a beautiful and functional pot, statue or other interesting article ready for the kiln.
The same tension between flexibility and creativity exists when using computer tools to generate visual scenes or virtual environments. Powerful drawing tools such as Adobe Illustrator allow a user to create virtually any image that can be conceived. Unfortunately, users who are less skilled, and perhaps less artistic, may have difficulty creating anything useful or aesthetically pleasing even though the creation tool is exceptionally powerful and the user can create anything he or she wants. In contrast, coloring books and paint by number oil paintings can be somewhat satisfying to complete, but there is little creativity involved. The painter or colorer simply fills in premarked areas with already-designated colors. While this can be a lot of fun for the very young, most teenagers and adults are interested in more creative pursuits.
Creativity is very important in conjunction with the design and use of virtual environments including animated movies, simulations, and video games. Vast amounts of creativity and design work are often required to create new and interesting landscapes and other virtual environments in which animated characters traverse and explore. Skilled video game designers, movie animators, and other virtual environment creators may spend months designing and enhancing virtual environments that are interesting, pleasing to the eye, and still be functional for animated characters to traversed the created virtual environments.
Part of the fascination of watching animated movies or playing adventure-type games is to see how animated characters can explore and discover new parts of the virtual environment, find hidden treasures, meet animated friends and enemies, and otherwise simulate adventure in a fantasy world that may be some ways be more interesting than the real world.
In the past, most virtual environments were designed and constructed by experts. These experts typically began with the equivalent of a lump of clay,—a white 3D pallet into which they could design and insert any kind of structure they could imagine. As with clay or paper, such a design process gives wonderful results for the skilled creative artisan, but ordinary users often lack the skill, vision, and/or creativity to create virtual environments that are both interesting and functional.
A few video games and other interfaces in the past have allowed users to create their own game levels or other virtual environments. In such contexts, it is often important to keep the tasks the users can execute relatively simple so that less skilled users can still have a successful interaction experience. Sometimes, this has limited the complexity of the resulting virtual environments to such an extent that more skilled users are simply not interested.
However, new and interesting techniques are continuously sought after to help unlock the almost endless boundaries of creativity among users.
Accordingly, it would be desirable to implement systems and/or methods that provide improved techniques to designing or modifying virtual environments.
Certain example embodiments herein may relate to techniques for facilitating user content creation on a computer system.
In more detail, exemplary illustrative non-limiting implementations herein allow users to create relatively complex 2D and/or 3D virtual structures to be traversed by animated characters. Users can create such structures by, among other things, placing inclined surfaces between existing structures so that animated characters can move from one structure to another within the virtual environment. In exemplary illustrative non-limiting implementations, users receive an automatic assist in terms of placing endpoints of the inclined structures within the virtual environment. For example, rather than allowing users to position inclined surface endpoints arbitrarily at any location within a 3-dimensional virtual space, exemplary illustrative non-limiting implementations of a virtual structure editor calculate a limited set of start and end positions for placement of such virtual inclined structures. A user may then select between the allowable start and end positions.